博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
登录之后更新导航
阅读量:4993 次
发布时间:2019-06-12

本文共 2930 字,大约阅读时间需要 9 分钟。

  1.  用上下文处理器app_context_processor定义函数
    1. 获取session中保存的值
    2. 返回字典
  2. 在父模板中更新导航,插入登录状态判断代码。
    1. 注意用{% ... %}表示指令。
    2. {
      { }}表示变量
  3. 完成注销功能。
    1. 清除session
    2. 跳转
          
      {% block title %}{% endblock %}base
      {% block head %}{% endblock %}
      {% block main %}{% endblock %}
      from flask import Flask,request,render_template,redirect,url_for,sessionfrom flask_sqlalchemy import SQLAlchemyimport configfrom functools import wrapsfrom  datetime import datetimeapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)class User(db.Model):    __tablename__='user'    id=db.Column(db.Integer,primary_key=True,autoincrement=True)    username = db.Column(db.String(20), nullable=False)    password = db.Column(db.String(20), nullable=False)    nickname = db.Column(db.String(50))#db.create_all()#增加数据#user=User(username = 'shanshan1',password = '111111')#db.session.add(user)#db.session.commit()#查询数据#user=User.query.filter(user.username == 'shanshan1').first()#print(user.id,user.username,user.password)#修改数据#user=User.query.filter(user.username == 'shanshan3').first()#user.password = '0000'#db.session.commit()#删除数据#user=User.query.filter(user.username == 'shanshan3').first()#db.session.delete(user)#db.session.commit()@app.route('/')def index():    return  render_template('shouye.html')@app.route(   '/manhua')def manhua():    return  render_template('manhua.html')@app.route('/login',methods=['GET','POST'])def login():    if request.method =='GET':        return render_template('denglu.html')    else:        name = request.form.get('name')        passw = request.form.get('password')        user = User.query.filter(User.username == name).first()    if user:       if user.password==passw:           session['user']=name           return redirect(url_for('manhua'))       else:           return "密码错误!"    else:        return "用户名不存在!"@app.context_processordef mycontext():    usern=session.get('user')    if usern:        return {
      'name':usern} else: return {}@app.route('/logout')def logout(): session.clear() return redirect(url_for('manhua'))@app.route("/register",methods=['GET','POST'])def register(): if request.method == 'GET': return render_template("zhuce.html") else: name = request.form.get('name') passw = request.form.get('password') user = User.query.filter(User.username == name).first() if user: return "用户名已存在!" else: user = User(username=name, password=passw) db.session.add(user) db.session.commit() return render_template("denglu.html")if __name__ == '__main__': app.run(debug=True)

           

       

       

转载于:https://www.cnblogs.com/33333-/p/7889878.html

你可能感兴趣的文章
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>
设计网站大全
查看>>
JVM CUP占用率过高排除方法,windows环境
查看>>
【转】JAVA字符串格式化-String.format()的使用
查看>>
【转】ButterKnife基本使用--不错
查看>>
【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”...
查看>>
函数中关于const关键字使用的注意事项
查看>>
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>
hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
查看>>
Flutter 贝塞尔曲线切割
查看>>
golang 的编译安装以及supervisord部署
查看>>